import pandas as pd
import plotly.express as px
import plotly.io as pio
pio.renderers.default = "notebook"
pd.set_option('display.max_colwidth', None)
d1 = pd.read_csv("pd0.csv")
d1
| tempo | triplas | |
|---|---|---|
| 0 | 2.343492 | -1 |
Exemplo de consulta:
prefix owl: \http://www.w3.org/2002/07/owl#\
prefix rdfs: \http://www.w3.org/2000/01/rdf-schema#\
select * where {
?s a <http://www.sefaz.ma.gov.br/ontology/Acordao>;
?p ?o.
} LIMIT 100
d2 = pd.read_csv("pd1.csv")
d2
| tempo | classe | triplas | |
|---|---|---|---|
| 0 | 1.986037 | Acórdão | 100 |
| 1 | 3.402136 | Agente | 100 |
| 2 | 2.787624 | Arma | 100 |
| 3 | 2.749503 | Arquivo | 100 |
| 4 | 0.396881 | Ativa | 0 |
| ... | ... | ... | ... |
| 145 | 0.547370 | Unidade Federativa | Estado | 100 |
| 146 | 0.579343 | Unidade Fiscal | 32 |
| 147 | 4.829313 | Usuário | 100 |
| 148 | 0.665234 | Órgão | 100 |
| 149 | 3.193373 | Evento | 100 |
150 rows × 3 columns
p = {'inválidas':d2[(d2['triplas']==0) | (d2['triplas']==-1)].shape[0],'válidas':d2.shape[0]-d2[(d2['triplas']==0) | (d2['triplas']==-1)].shape[0]}
p=pd.DataFrame([p]).T.reset_index().rename(columns={0:'qtd','index':'tipo'})
fig = px.pie(p,values='qtd', names='tipo', title='Percentual de classes válidas')
fig.show()
d2['timeout'] = 'Não'
d2.loc[d2['triplas']==-1,'timeout'] = 'Sim'
p= d2['timeout'].value_counts().reset_index(name="count")
fig = px.pie(p,values='count', names='index', title='Percentual de classes com erros')
fig.show()
d2[d2['triplas']==-1]
| tempo | classe | triplas | timeout | |
|---|---|---|---|---|
| 33 | 1035.696740 | Documento Fiscal | -1 | Sim |
| 67 | 0.883615 | Fornecedor Pessoa Jurídica | -1 | Sim |
| 68 | 1.141316 | Fornecedor Restrito | -1 | Sim |
| 72 | 0.568383 | Inadimplente | -1 | Sim |
| 76 | 991.370149 | Item | -1 | Sim |
| 85 | 0.580956 | Obrigação | -1 | Sim |
| 97 | 1.054480 | Processo | -1 | Sim |
p = {'vazias':d2[d2['triplas']==0].shape[0],'povoadas':d2.shape[0]-d2[d2['triplas']==0].shape[0]}
p=pd.DataFrame([p]).T.reset_index().rename(columns={0:'qtd','index':'tipo'})
fig = px.pie(p,values='qtd', names='tipo', title='Percentual de classes vazias')
fig.show()
d2[d2['triplas']==0]
| tempo | classe | triplas | timeout | |
|---|---|---|---|---|
| 4 | 0.396881 | Ativa | 0 | Não |
| 7 | 0.415813 | Baixa de Ofício | 0 | Não |
| 8 | 0.535148 | Baixada | 0 | Não |
| 10 | 0.478174 | Cancelada | 0 | Não |
| 17 | 0.508614 | Conceito | 0 | Não |
| 28 | 0.594989 | Contribuinte PEM | 0 | Não |
| 42 | 1.271017 | Endereço C115 | 0 | Não |
| 44 | 0.422860 | Endereço C115 Comunicação | 0 | Não |
| 45 | 0.488950 | Endereço C115 Energia | 0 | Não |
| 46 | 0.414476 | Endereço C115 Telecomunicação | 0 | Não |
| 47 | 0.414225 | Endereço Cadastro Sefaz | 0 | Não |
| 49 | 0.451819 | Endereço NFE | 0 | Não |
| 50 | 0.476809 | Endereço REDESIM | 0 | Não |
| 52 | 0.433004 | Endereço RFB | 0 | Não |
| 59 | 0.465324 | Estabelecimento SEFAZ | 0 | Não |
| 61 | 4.019326 | Excluso / Removido do SIMPLES | 0 | Não |
| 62 | 0.811593 | Exigência | 0 | Não |
| 74 | 0.411194 | Inapta | 0 | Não |
| 82 | 0.412035 | Nula | 0 | Não |
| 84 | 0.433223 | Não optante pelo SIMPLES | 0 | Não |
| 87 | 0.453083 | Optante pelo SIMPLES | 0 | Não |
| 98 | 0.390761 | Processo de Baixa | 0 | Não |
| 99 | 0.385835 | Processo de Suspensão | 0 | Não |
| 115 | 0.535865 | Situação Cadastral RFB | 0 | Não |
| 116 | 0.463197 | Situação Cadastral SEFAZ | 0 | Não |
| 130 | 0.385259 | Suspensa | 0 | Não |
| 131 | 0.399096 | Suspensa de Ofício | 0 | Não |
| 135 | 0.395624 | Sócio RFB | 0 | Não |
validas = d2[(d2['triplas']!=0) & (d2['triplas']!=-1)]
fig = px.histogram(validas, x="tempo",title="histograma de tempo de execução")
fig.show()
fig = px.histogram(validas[validas['tempo']<=19], x="tempo",title="histograma de tempo de execução, quando tempo [0,19]")
fig.show()
Estatísticas para consultas com tempo [0,20)
validas[validas['tempo']<20].describe()
| tempo | triplas | |
|---|---|---|
| count | 109.000000 | 109.000000 |
| mean | 2.129777 | 90.614679 |
| std | 2.030407 | 25.782534 |
| min | 0.547370 | 6.000000 |
| 25% | 0.771827 | 100.000000 |
| 50% | 1.305216 | 100.000000 |
| 75% | 3.044777 | 100.000000 |
| max | 14.268728 | 100.000000 |
fig = px.histogram(validas[validas['tempo']>=20], x="tempo",title="histograma de tempo de execução, quando tempo [20,inf]")
fig.show()
Consultas com tempo [20,inf)
validas[validas['tempo']>=20].sort_values(by="tempo",ascending=False)
| tempo | classe | triplas | timeout | |
|---|---|---|---|---|
| 79 | 583.774674 | Medicamento | 100 | Não |
| 16 | 344.839877 | Compra Pública | 100 | Não |
| 100 | 214.603900 | Produto | 100 | Não |
| 105 | 24.672524 | Realização de Atividade Econômica | 100 | Não |
| 60 | 21.879652 | Evento Desabilitado | 100 | Não |
| 27 | 21.460606 | Contribuinte Normal | 100 | Não |
Exemplo:
prefix owl: \http://www.w3.org/2002/07/owl#\
prefix rdfs: \http://www.w3.org/2000/01/rdf-schema#\
select * where {
<http://www.sefaz.ma.gov.br/resource/Restricoes/Acordao/14769662491-10_05_2017-00371520167> ?p ?o.
} LIMIT 100
d3 = pd.read_csv("pd2.csv")
d3
| tempo | classe | triplas | |
|---|---|---|---|
| 0 | 0.623202 | Acórdão | 5 |
| 1 | 0.438715 | Agente | 5 |
| 2 | 7.445809 | Arma | 8 |
| 3 | 2.277732 | Arquivo | 12 |
| 4 | 0.756031 | Atividade Econômica | 9 |
| ... | ... | ... | ... |
| 110 | 0.472866 | Unidade Federativa | Estado | 5 |
| 111 | 0.387783 | Unidade Fiscal | 4 |
| 112 | 9.681405 | Usuário | 4 |
| 113 | 0.403277 | Órgão | 9 |
| 114 | 1.969839 | Evento | 49 |
115 rows × 3 columns
d3[(d3['triplas']==0) | (d3['triplas']==-1)]
| tempo | classe | triplas |
|---|
validas = d3[(d3['triplas']!=0) & (d3['triplas']!=-1)]
fig = px.histogram(validas, x="tempo",title="histograma de tempo de execução")
fig.show()
fig = px.histogram(validas[validas['tempo']<5], x="tempo",title="histograma de tempo de execução, quando tempo [0,5)")
fig.show()
Estatísticas para consultas com tempo [0,5)
validas[validas['tempo']<5].describe()
| tempo | triplas | |
|---|---|---|
| count | 100.000000 | 100.00000 |
| mean | 1.118855 | 9.92000 |
| std | 1.089067 | 11.76425 |
| min | 0.075652 | 2.00000 |
| 25% | 0.492458 | 5.00000 |
| 50% | 0.619389 | 8.00000 |
| 75% | 1.310520 | 10.00000 |
| max | 4.640719 | 100.00000 |
fig = px.histogram(validas[(validas['tempo']>=5) & (validas['tempo']<50)], x="tempo",title="histograma de tempo de execução, quando tempo [5,49]")
fig.show()
Estatísticas para consultas com tempo [5,inf)
validas[validas['tempo']>=5].describe()
| tempo | triplas | |
|---|---|---|
| count | 15.000000 | 15.000000 |
| mean | 21.022303 | 13.466667 |
| std | 31.148509 | 9.605554 |
| min | 5.095747 | 4.000000 |
| 25% | 6.280648 | 7.000000 |
| 50% | 8.099796 | 13.000000 |
| 75% | 13.171813 | 16.000000 |
| max | 98.861354 | 44.000000 |
Consultas com tempo [5,inf)
validas[validas['tempo']>=5].sort_values(by="tempo",ascending=False)
| tempo | classe | triplas | |
|---|---|---|---|
| 56 | 98.861354 | Medicamento | 6 |
| 70 | 94.823734 | Produto | 9 |
| 13 | 23.486215 | Consumidor | 13 |
| 11 | 13.793582 | Combustível | 5 |
| 41 | 12.550044 | Estabelecimento | 44 |
| 59 | 10.661657 | Não Contribuinte | 6 |
| 112 | 9.681405 | Usuário | 4 |
| 66 | 8.099796 | Pessoa Física Cadastro SEFAZ | 16 |
| 2 | 7.445809 | Arma | 8 |
| 14 | 7.325449 | Contador | 16 |
| 77 | 6.947204 | Representante Legal | 16 |
| 67 | 5.614092 | Pessoa Física REDESIM | 16 |
| 78 | 5.522513 | Representante Legal Físico | 16 |
| 81 | 5.425947 | Sanção | 12 |
| 33 | 5.095747 | Empresa | Organização | Pessoa Jurídica SEFAZ | 15 |
Exemplo:
prefix owl: \http://www.w3.org/2002/07/owl#\
prefix rdfs: \http://www.w3.org/2000/01/rdf-schema#\
select * where {
<http://www.sefaz.ma.gov.br/resource/Restricoes/Acordao/14769662491-10_05_2017-00371520167> rdfs:label ?o.
} LIMIT 100
d4 = pd.read_csv("pd3.csv")
d4
| tempo | classe | triplas | |
|---|---|---|---|
| 0 | 1.682316 | Acórdão | 1 |
| 1 | 0.099842 | Agente | 1 |
| 2 | 2.819184 | Arma | 1 |
| 3 | 0.381769 | Arquivo | 1 |
| 4 | 0.121180 | Atividade Econômica | 1 |
| ... | ... | ... | ... |
| 110 | 0.084871 | Unidade Federativa | Estado | 1 |
| 111 | 0.087283 | Unidade Fiscal | 1 |
| 112 | 1.289613 | Usuário | 1 |
| 113 | 0.105595 | Órgão | 1 |
| 114 | 1.058278 | Evento | 1 |
115 rows × 3 columns
p = {'não tem label':d4[(d4['triplas']==0) | (d4['triplas']==-1)].shape[0],'tem label':d4.shape[0]-d4[(d4['triplas']==0) | (d4['triplas']==-1)].shape[0]}
p=pd.DataFrame([p]).T.reset_index().rename(columns={0:'qtd','index':'tipo'})
fig = px.pie(p,values='qtd', names='tipo', title='Percentual de classes com recursos com labels')
fig.show()
d4[(d4['triplas']==0) | (d4['triplas']==-1)]
| tempo | classe | triplas | |
|---|---|---|---|
| 11 | 19.773269 | Combustível | 0 |
| 48 | 0.093681 | Fornecedor Pessoa Física | 0 |
| 61 | 0.097728 | Opção pelo regime SIMPLES | 0 |
| 65 | 0.081730 | Pessoa Física | 0 |
| 80 | 0.108037 | Sancionado | 0 |
validas = d4
fig = px.histogram(validas, x="tempo",title="histograma de tempo de execução")
fig.show()
fig = px.histogram(validas[validas['tempo']<5], x="tempo",title="histograma de tempo de execução tempo [0,5)")
fig.show()
Estatísticas para consultas com tempo [0,5)
validas[validas['tempo']<5].describe()
| tempo | triplas | |
|---|---|---|
| count | 112.000000 | 112.000000 |
| mean | 0.294403 | 1.044643 |
| std | 0.393862 | 0.339273 |
| min | 0.064543 | 0.000000 |
| 25% | 0.096674 | 1.000000 |
| 50% | 0.140746 | 1.000000 |
| 75% | 0.288650 | 1.000000 |
| max | 2.819184 | 2.000000 |
Estatísticas para consultas com tempo [5,inf)
validas[validas['tempo']>=5].describe()
| tempo | triplas | |
|---|---|---|
| count | 3.000000 | 3.000000 |
| mean | 46.714746 | 0.666667 |
| std | 23.613130 | 0.577350 |
| min | 19.773269 | 0.000000 |
| 25% | 38.162958 | 0.500000 |
| 50% | 56.552646 | 1.000000 |
| 75% | 60.185484 | 1.000000 |
| max | 63.818323 | 1.000000 |
Consultas com tempo [5,inf)
validas[validas['tempo']>=5].sort_values(by='tempo',ascending=False)
| tempo | classe | triplas | |
|---|---|---|---|
| 56 | 63.818323 | Medicamento | 1 |
| 70 | 56.552646 | Produto | 1 |
| 11 | 19.773269 | Combustível | 0 |
Exemplo:
prefix owl: \http://www.w3.org/2002/07/owl#\
prefix rdfs: \http://www.w3.org/2000/01/rdf-schema#\
select * where {
?s a <http://www.sefaz.ma.gov.br/ontology/Acordao>;
<http://www.sefaz.ma.gov.br/ontology/data_final> ?o.
} LIMIT 100
d5 = pd.read_csv("pd4.csv")
d5
| tempo | classe | propriedade | triplas | |
|---|---|---|---|---|
| 0 | 0.087136 | Acórdão | data final | 0 |
| 1 | 0.254286 | Agente | name | 100 |
| 2 | 0.135980 | Agente | nome | 100 |
| 3 | 0.621809 | Agente | tem solicitação | 0 |
| 4 | 0.310097 | Agente | tem tipo de contribuição | 100 |
| ... | ... | ... | ... | ... |
| 975 | 0.082880 | Órgão | 0 | |
| 976 | 0.086620 | Órgão | idêntico / igual / mesmo que / sameAs | 0 |
| 977 | 0.191642 | Evento | tem solicitação | 100 |
| 978 | 1.012949 | Evento | código do evento | 86 |
| 979 | 0.733711 | Evento | descrição do evento | 66 |
980 rows × 4 columns
d5[(d5['triplas']==0) | (d5['triplas']==-1)]
| tempo | classe | propriedade | triplas | |
|---|---|---|---|---|
| 0 | 0.087136 | Acórdão | data final | 0 |
| 3 | 0.621809 | Agente | tem solicitação | 0 |
| 6 | 0.073947 | Agente | cpf ou cnpj | 0 |
| 9 | 0.091709 | Agente | número de contato | 0 |
| 10 | 0.064460 | Agente | contact number | 0 |
| ... | ... | ... | ... | ... |
| 972 | 0.082878 | Órgão | tem matriz | 0 |
| 973 | 0.084771 | Órgão | cnpj raíz | 0 |
| 974 | 0.081283 | Órgão | razão social | 0 |
| 975 | 0.082880 | Órgão | 0 | |
| 976 | 0.086620 | Órgão | idêntico / igual / mesmo que / sameAs | 0 |
488 rows × 4 columns
p = {'inválida':d5[(d5['triplas']==0) | (d5['triplas']==-1)].shape[0],'válida':d5.shape[0]-d5[(d5['triplas']==0) | (d5['triplas']==-1)].shape[0]}
p=pd.DataFrame([p]).T.reset_index().rename(columns={0:'qtd','index':'tipo'})
fig = px.pie(p,values='qtd', names='tipo', title='Percentual de propriedades de classes válidas')
fig.show()
d5['erro']='Não'
d5.loc[d5['triplas']==-1,'erro']='Sim'
p = d5['erro'].value_counts().reset_index(name="qtd")
fig = px.pie(p,values='qtd', names='index', title='Percentual de propriedades de classes que deram erro')
fig.show()
Consultas com erro
d5[d5['triplas']==-1]
| tempo | classe | propriedade | triplas | erro | |
|---|---|---|---|---|---|
| 101 | 1200.101048 | Compra Pública | tem item | -1 | Sim |
| 547 | 0.122418 | Fornecedor Restrito | número do documento | -1 | Sim |
| 558 | 0.109723 | Inadimplente | tem inadimplencia | -1 | Sim |
| 559 | 0.124876 | Inadimplente | número do documento | -1 | Sim |
| 582 | 1149.477324 | Item | informações adicionais | -1 | Sim |
| 624 | 0.118677 | Obrigação | data de vencimento | -1 | Sim |
| 625 | 0.134135 | Obrigação | objeto da obrigação | -1 | Sim |
| 626 | 0.109003 | Obrigação | valor da obrigação | -1 | Sim |
p = {'propridade sem valor':d5[(d5['triplas']==0)].shape[0],'propridades com valor':d5.shape[0]-d5[(d5['triplas']==0)].shape[0]}
p=pd.DataFrame([p]).T.reset_index().rename(columns={0:'qtd','index':'tipo'})
fig = px.pie(p,values='qtd', names='tipo', title='Percentual de propriedades com valores por classe')
fig.show()
Consultas com retorno vazio
d5[(d5['triplas']==0)]
| tempo | classe | propriedade | triplas | erro | |
|---|---|---|---|---|---|
| 0 | 0.087136 | Acórdão | data final | 0 | Não |
| 3 | 0.621809 | Agente | tem solicitação | 0 | Não |
| 6 | 0.073947 | Agente | cpf ou cnpj | 0 | Não |
| 9 | 0.091709 | Agente | número de contato | 0 | Não |
| 10 | 0.064460 | Agente | contact number | 0 | Não |
| ... | ... | ... | ... | ... | ... |
| 972 | 0.082878 | Órgão | tem matriz | 0 | Não |
| 973 | 0.084771 | Órgão | cnpj raíz | 0 | Não |
| 974 | 0.081283 | Órgão | razão social | 0 | Não |
| 975 | 0.082880 | Órgão | 0 | Não | |
| 976 | 0.086620 | Órgão | idêntico / igual / mesmo que / sameAs | 0 | Não |
480 rows × 5 columns
validas = d5[d5['triplas']!=-1]
fig = px.histogram(validas, x="tempo",title="histograma de tempo de execução")
fig.show()
fig = px.histogram(validas[validas['tempo']<5], x="tempo",title="histograma de tempo de execução com tempo [0,5)")
fig.show()
Estatísticas para consultas com tempo [0,5)
validas[validas['tempo']<5].describe()
| tempo | triplas | |
|---|---|---|
| count | 928.000000 | 928.000000 |
| mean | 0.475278 | 45.853448 |
| std | 0.787545 | 49.510790 |
| min | 0.059773 | 0.000000 |
| 25% | 0.079825 | 0.000000 |
| 50% | 0.110076 | 0.000000 |
| 75% | 0.484735 | 100.000000 |
| max | 4.589642 | 100.000000 |
Estatísticas para consultas com tempo [5,inf)
validas[validas['tempo']>=5].describe()
| tempo | triplas | |
|---|---|---|
| count | 44.000000 | 44.0 |
| mean | 66.106108 | 100.0 |
| std | 113.649806 | 0.0 |
| min | 5.134083 | 100.0 |
| 25% | 6.798629 | 100.0 |
| 50% | 19.578019 | 100.0 |
| 75% | 49.381030 | 100.0 |
| max | 537.256746 | 100.0 |
Propriedades de classes com tempo [5,inf)
validas[validas['tempo']>=5].sort_values(by='tempo',ascending=False)
| tempo | classe | propriedade | triplas | erro | |
|---|---|---|---|---|---|
| 438 | 537.256746 | Estabelecimento | tem situação cadastral | 100 | Não |
| 583 | 417.707540 | Item | número do item | 100 | Não |
| 590 | 311.868229 | Item | tem compra pública | 100 | Não |
| 579 | 275.389029 | Item | tem produto | 100 | Não |
| 491 | 145.963531 | Estabelecimento RFB | contact number | 100 | Não |
| 490 | 144.029154 | Estabelecimento RFB | número de contato | 100 | Não |
| 739 | 138.548863 | Registro Desabilitado | excluído por | 100 | Não |
| 495 | 114.052294 | Estabelecimento RFB | telefone | 100 | Não |
| 736 | 104.690356 | Realização de Atividade Econômica | atividade performada | 100 | Não |
| 737 | 85.579059 | Realização de Atividade Econômica | início da atividade econômica | 100 | Não |
| 494 | 59.877975 | Estabelecimento RFB | razão social | 100 | Não |
| 613 | 45.882048 | Medicamento | preço máximo do consumidor | 100 | Não |
| 614 | 45.555274 | Medicamento | quantidade | 100 | Não |
| 612 | 40.313211 | Medicamento | número do lote | 100 | Não |
| 740 | 37.805269 | Registro Desabilitado | incluido por | 100 | Não |
| 609 | 36.840197 | Medicamento | código do produto anvisa | 100 | Não |
| 23 | 35.712949 | Arquivo | categoria | 100 | Não |
| 815 | 34.295418 | Sociedade | qualificação do responsável | 100 | Não |
| 611 | 22.155988 | Medicamento | motivo de isenção anvisa | 100 | Não |
| 499 | 19.846558 | Estabelecimento RFB | 100 | Não | |
| 489 | 19.673958 | Estabelecimento RFB | nome fantasia | 100 | Não |
| 173 | 19.587639 | Empresa | Organização | Pessoa Jurídica | opção por simples | 100 | Não |
| 452 | 19.568399 | Estabelecimento | data de início das atividades do estabelecimento | 100 | Não |
| 95 | 16.835864 | Combustível | percentual de gás natural | 100 | Não |
| 94 | 16.187004 | Combustível | percentual de gás importado | 100 | Não |
| 426 | 15.995505 | Estabelecimento | razão social | 100 | Não |
| 223 | 15.610055 | Empresa | Organização | Pessoa Jurídica RFB | razão social | 100 | Não |
| 96 | 15.588194 | Combustível | percentual de glp | 100 | Não |
| 221 | 13.767562 | Empresa | Organização | Pessoa Jurídica RFB | tem matriz | 100 | Não |
| 852 | 13.420505 | Sociedade RFB | tem qualificação sócio | 100 | Não |
| 29 | 10.407626 | Arquivo | hash | 100 | Não |
| 213 | 8.323869 | Empresa | Organização | Pessoa Jurídica | idêntico / igual / mesmo que / sameAs | 100 | Não |
| 578 | 6.894434 | Item | tem documento fiscal | 100 | Não |
| 818 | 6.511217 | Sociedade | tem qualificação representante | 100 | Não |
| 92 | 6.181713 | Combustível | código do produto anp | 100 | Não |
| 112 | 6.178431 | Contador | CPF | 100 | Não |
| 677 | 6.083926 | Pessoa Física Cadastro SEFAZ | nome | 100 | Não |
| 381 | 5.863688 | Endereço REDESIM | número | 100 | Não |
| 140 | 5.853570 | Documento Fiscal | tem consumidor | 100 | Não |
| 821 | 5.585490 | Sociedade | tem representante / tem representante legal | 100 | Não |
| 231 | 5.517614 | Empresa | Organização | Pessoa Jurídica SEFAZ | idêntico / igual / mesmo que / sameAs | 100 | Não |
| 676 | 5.388571 | Pessoa Física Cadastro SEFAZ | name | 100 | Não |
| 437 | 5.140143 | Estabelecimento | tem realização de atividade econômica | 100 | Não |
| 145 | 5.134083 | Documento Fiscal | ano de apuração do documento fiscal | 100 | Não |
Exemplo:
SELECT * where {
BIND(<http://www.sefaz.ma.gov.br/resource/Restricoes/Acordao/14769662491-10_05_2017-00371520167> as ?node)
{
?node ?p ?o .
filter(?p != <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>)
filter(isURI(?o))
}
OPTIONAL{
?s ?p2 ?node.
filter(?p2 != <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>)
filter(isURI(?s))
}
}
d6 = pd.read_csv("pd5.csv")
d6
| tempo | classe | recurso | triplas | |
|---|---|---|---|---|
| 0 | 1.667869 | Acórdão | http://www.sefaz.ma.gov.br/resource/Restricoes/Acordao/14769662491-10_05_2017-00371520167 | 1 |
| 1 | 1.019624 | Agente | http://www.sefaz.ma.gov.br/resource/RFB/Agente/3H%20GROUP%20PTY%20LTD. | 1 |
| 2 | 0.727926 | Arma | http://www.sefaz.ma.gov.br/resource/Compras_Publicas/Arma/156107053 | 0 |
| 3 | 1.137172 | Arquivo | http://www.sefaz.ma.gov.br/resource/REDESIM/Arquivo/701 | 1 |
| 4 | 7.258750 | Atividade Econômica | http://www.sefaz.ma.gov.br/resource/DOMINIO/Atividade_Economica/CNAE_1.0_CLASSE-ALUGUEL_DE_AERONAVES | 1 |
| ... | ... | ... | ... | ... |
| 110 | 0.696883 | Unidade Federativa | Estado | http://www.sefaz.ma.gov.br/resource/DOMINIO/Unidade_Federativa/MG | 0 |
| 111 | 0.752754 | Unidade Fiscal | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Unidade_Fiscal/1 | 0 |
| 112 | 0.829059 | Usuário | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Usuario/1088772 | 0 |
| 113 | 1.054775 | Órgão | http://www.sefaz.ma.gov.br/resource/CEIS/Orgao/MINISTÉRIO%20DA%20AGRICULTURA%2C%20PECUÁRIA%20E%20ABASTECIMENTO | 48 |
| 114 | 1.268157 | Evento | http://www.sefaz.ma.gov.br/resource/REDESIM/Evento/691 | 44 |
115 rows × 4 columns
d6[(d6['triplas']==0) | (d6['triplas']==-1)]
| tempo | classe | recurso | triplas | |
|---|---|---|---|---|
| 2 | 0.727926 | Arma | http://www.sefaz.ma.gov.br/resource/Compras_Publicas/Arma/156107053 | 0 |
| 6 | 0.826406 | CEP do Logradouro | http://www.sefaz.ma.gov.br/resource/DOMINIO/CEP_Logradouro/01019030 | 0 |
| 7 | 0.835391 | Caso da consistência | http://www.sefaz.ma.gov.br/resource/Caso_Consistencia/2.1 | 0 |
| 8 | 0.743327 | Caso da similaridade | http://www.sefaz.ma.gov.br/resource/Caso_Similaridade/1 | 0 |
| 11 | 23.476121 | Combustível | http://www.sefaz.ma.gov.br/resource/Compras_Publicas/Combustivel/136840162 | 0 |
| 13 | 0.841551 | Consumidor | http://www.sefaz.ma.gov.br/resource/C115/Consumidor/0 | 0 |
| 28 | 0.745160 | Emancipado | http://www.sefaz.ma.gov.br/resource/REDESIM/Emancipado/70927600382 | 0 |
| 29 | 0.967741 | Empresa Holding | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Empresa/1005728000179 | -1 |
| 32 | 2.467699 | Empresa | Organização | Pessoa Jurídica RFB | http://www.sefaz.ma.gov.br/resource/RFB/Empresa/00000000 | -1 |
| 33 | 0.843060 | Empresa | Organização | Pessoa Jurídica SEFAZ | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Empresa/12000060 | -1 |
| 40 | 2.650867 | Entidade Integrada | http://www.sefaz.ma.gov.br/resource/REDESIM/Entidade_Integrada/9921 | 0 |
| 41 | 0.966932 | Estabelecimento | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Estabelecimento/12727524 | -1 |
| 43 | 0.915771 | Estabelecimento RFB | http://www.sefaz.ma.gov.br/resource/RFB/Estabelecimento/00000000000191 | -1 |
| 49 | 0.132631 | Grupo | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Empresa/1005728000179 | -1 |
| 52 | 3.268304 | Inadimplência | http://www.sefaz.ma.gov.br/resource/CEI/Inadimplencia/10000100-2875068000140-20%2F09%2F05%2000%3A00%3A00-20%2F09%2F05%2000%3A00%3A00 | -1 |
| 53 | 0.790976 | Infração | http://www.sefaz.ma.gov.br/resource/CEI/Infracao/1 | 0 |
| 56 | 2.004534 | Medicamento | http://www.sefaz.ma.gov.br/resource/Compras_Publicas/Medicamento/3115172295 | 0 |
| 57 | 0.748341 | Nacionalidade | http://www.sefaz.ma.gov.br/resource/REDESIM/Nacionalidade/BRASILEIRA | 0 |
| 58 | 0.723753 | Natureza Legal | Natureza Jurídica | http://www.sefaz.ma.gov.br/resource/DOMINIO/Natureza_Legal/1309 | 0 |
| 59 | 3.040117 | Não Contribuinte | http://www.sefaz.ma.gov.br/resource/DOMINIO/Nao_Contribuinte_ICMS/59080 | 0 |
| 61 | 2.508615 | Opção pelo regime SIMPLES | http://www.sefaz.ma.gov.br/resource/RFB/Opcao_Simples/NAO-00000000 | 0 |
| 63 | 0.700694 | País | http://www.sefaz.ma.gov.br/resource/DOMINIO/Pais/AFEGANISTAO | 0 |
| 64 | 0.706485 | Periodicidade | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Periodicidade/ANUAL | 0 |
| 66 | 0.890631 | Pessoa Física Cadastro SEFAZ | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Pessoa/2010305 | -1 |
| 68 | 0.749052 | Pessoa Física RFB | http://www.sefaz.ma.gov.br/resource/RFB/Pessoa/___000000__-AILTO_NECKEL_DE_SOUZA | 0 |
| 69 | 0.783592 | Porte da Empresa | Porte Empresarial | Porte | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Porte/PEQUENO_PORTE | 0 |
| 70 | 0.781332 | Produto | http://www.sefaz.ma.gov.br/resource/Compras_Publicas/Medicamento/1871611637 | 0 |
| 71 | 0.721581 | Protocolo | http://www.sefaz.ma.gov.br/resource/REDESIM/Protocolo/MAP1601343249 | 0 |
| 73 | 0.947313 | Qualificação do Sócio ou Representante | http://www.sefaz.ma.gov.br/resource/DOMINIO/Qualificacao/ACIONISTA | 0 |
| 74 | 2.264467 | Razão | Motivo de Situação Cadastral | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Razao_Situacao_Cadastral/OMISSO_DE_DIEF | 0 |
| 79 | 0.158682 | Representante Legal Jurídico | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Empresa/1005728000179 | -1 |
| 82 | 1.442788 | Seção CNAE | http://www.sefaz.ma.gov.br/resource/DOMINIO/Atividade_Economica/CNAE_1.0_SECAO-EDUCACAO | 0 |
| 83 | 0.752414 | Situação Cadastral | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Situacao_Cadastral/ATIVA-45090117000141-2022_01_31 | -1 |
| 84 | 0.698084 | Situação Cadastral REDESIM | http://www.sefaz.ma.gov.br/resource/REDESIM/Situacao_Cadastral/ATIVA-17616711000198-2013_02_21 | 0 |
| 85 | 0.979191 | Situação Fiscal | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Situacao_Fiscal/12092571-DESABILITADO | 0 |
| 86 | 0.744370 | Situação especial | http://www.sefaz.ma.gov.br/resource/RFB/Situacao_Especial/00002342-1998_02_13 | 0 |
| 95 | 0.931279 | Status de Envio | http://www.sefaz.ma.gov.br/resource/REDESIM/Status_Envio/PENDENTE_ENVIO | 0 |
| 101 | 0.720261 | Tipo Ato | http://www.sefaz.ma.gov.br/resource/REDESIM/Tipo_Ato/INSCRICAO | 0 |
| 102 | 1.702027 | Tipo de Contribuição | http://www.sefaz.ma.gov.br/resource/DOMINIO/Tipo_Contribuicao/NAO_CONTRIBUINTE_DO_ICMS | 0 |
| 103 | 0.718458 | Tipo de Propriedade | http://www.sefaz.ma.gov.br/resource/REDESIM/Tipo_Propriedade/PROPRIO | 0 |
| 104 | 0.700126 | Tipo de Regime Tributário | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Tipo_Regime_Tributario/SIMPLES_NACIONAL | 0 |
| 105 | 0.760292 | Tipo do Estabelecimento | http://www.sefaz.ma.gov.br/resource/DOMINIO/Tipo_Estabelecimento/FILIAL | 0 |
| 110 | 0.696883 | Unidade Federativa | Estado | http://www.sefaz.ma.gov.br/resource/DOMINIO/Unidade_Federativa/MG | 0 |
| 111 | 0.752754 | Unidade Fiscal | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Unidade_Fiscal/1 | 0 |
| 112 | 0.829059 | Usuário | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Usuario/1088772 | 0 |
p = {'inválida':d6[(d6['triplas']==0) | (d6['triplas']==-1)].shape[0],'válida':d6.shape[0]-d6[(d6['triplas']==0) | (d6['triplas']==-1)].shape[0]}
p=pd.DataFrame([p]).T.reset_index().rename(columns={0:'qtd','index':'tipo'})
fig = px.pie(p,values='qtd', names='tipo', title='Percentual de propriedades de classes válidas')
fig.show()
d6['erro'] = 'Não'
d6.loc[d6['triplas']==-1,'erro']='Sim'
p = d6['erro'].value_counts().reset_index(name="qtd")
fig = px.pie(p,values='qtd', names='index', title='Percentual de recursos que deram erro')
fig.show()
p = {'nós sem relações':d6[(d6['triplas']==0)].shape[0],'nós com relações':d6.shape[0]-d6[(d6['triplas']==0)].shape[0]}
p=pd.DataFrame([p]).T.reset_index().rename(columns={0:'qtd','index':'tipo'})
fig = px.pie(p,values='qtd', names='tipo', title='Percentual nós sem relações por classe')
fig.show()
validas = d6[(d6['triplas']!=0) & (d6['triplas']!=-1)]
fig = px.histogram(validas, x="tempo",title="histograma de tempo de execução")
fig.show()
fig = px.histogram(validas[validas['tempo']<30], x="tempo",title="histograma de tempo de execução com tempo [0,30)")
fig.show()
fig = px.histogram(validas[validas['tempo']>=8], x="tempo",title="histograma de tempo de execução com tempo [8,inf)")
fig.show()
Estatísticas para consultas com tempo [0,8)
validas[validas['tempo']<8].describe()
| tempo | triplas | |
|---|---|---|
| count | 61.000000 | 61.000000 |
| mean | 2.252899 | 7.163934 |
| std | 1.908018 | 13.499605 |
| min | 0.076394 | 1.000000 |
| 25% | 0.866903 | 1.000000 |
| 50% | 1.268157 | 2.000000 |
| 75% | 3.195494 | 6.000000 |
| max | 7.323632 | 63.000000 |
Estatísticas para consultas com tempo [8,inf)
validas[validas['tempo']>=8].describe()
| tempo | triplas | |
|---|---|---|
| count | 9.000000 | 9.000000 |
| mean | 89.937224 | 2486.555556 |
| std | 103.678584 | 7212.251852 |
| min | 8.091177 | 2.000000 |
| 25% | 12.152428 | 3.000000 |
| 50% | 19.011881 | 32.000000 |
| 75% | 133.091439 | 155.000000 |
| max | 262.700967 | 21716.000000 |
Recursos com tempo [8,inf)
validas[validas['tempo']>=8].sort_values(by='tempo',ascending=False)
| tempo | classe | recurso | triplas | erro | |
|---|---|---|---|---|---|
| 12 | 262.700967 | Compra Pública | http://www.sefaz.ma.gov.br/resource/Compras_Publicas/Compra_Publica/190730 | 3 | Não |
| 9 | 246.946164 | Cidade | Município | http://www.sefaz.ma.gov.br/resource/DOMINIO/Cidade/VILA%20SAO%20FRANCISCO-AL | 2 | Não |
| 106 | 133.091439 | Unidade Consumo | http://www.sefaz.ma.gov.br/resource/C115/Unidade_Consumo/0000000001 | 408 | Não |
| 5 | 100.671860 | Bairro | http://www.sefaz.ma.gov.br/resource/DOMINIO/Bairro/14_DE_NOVEMBRO-CASCAVEL | 55 | Não |
| 97 | 19.011881 | Subclasse CNAE | http://www.sefaz.ma.gov.br/resource/DOMINIO/Atividade_Economica/2731700 | 21716 | Não |
| 55 | 16.306568 | Logradouro | http://www.sefaz.ma.gov.br/resource/DOMINIO/Logradouro/01001000-SE | 3 | Não |
| 31 | 12.152428 | Empresa | Organização | Pessoa Jurídica REDESIM | http://www.sefaz.ma.gov.br/resource/REDESIM/Empresa/16506549 | 155 | Não |
| 42 | 10.462532 | Estabelecimento REDESIM | http://www.sefaz.ma.gov.br/resource/REDESIM/Estabelecimento/191 | 32 | Não |
| 44 | 8.091177 | Evento Desabilitado | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Evento_Desabilitado/12000060 | 5 | Não |
Exemplo:
SELECT * where {
BIND(<http://www.sefaz.ma.gov.br/resource/Restricoes/Acordao/14769662491-10_05_2017-00371520167> as ?node)
?node ?p ?o .
filter(?p != <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>)
filter(isURI(?o))
?o ?p3 ?o2.
filter(?p3 != <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>)
filter(isURI(?o2))
}
d7 = pd.read_csv("pd6.csv")
d7
| tempo | classe | recurso | triplas | |
|---|---|---|---|---|
| 0 | 1.136411 | Acórdão | http://www.sefaz.ma.gov.br/resource/Restricoes/Acordao/14769662491-10_05_2017-00371520167 | 1 |
| 1 | 1.117689 | Agente | http://www.sefaz.ma.gov.br/resource/RFB/Agente/3H%20GROUP%20PTY%20LTD. | 0 |
| 2 | 0.903873 | Arma | http://www.sefaz.ma.gov.br/resource/Compras_Publicas/Arma/156107053 | 0 |
| 3 | 0.926405 | Arquivo | http://www.sefaz.ma.gov.br/resource/REDESIM/Arquivo/701 | 0 |
| 4 | 1.183037 | Atividade Econômica | http://www.sefaz.ma.gov.br/resource/DOMINIO/Atividade_Economica/CNAE_1.0_CLASSE-ALUGUEL_DE_AERONAVES | 1 |
| ... | ... | ... | ... | ... |
| 110 | 0.915502 | Unidade Federativa | Estado | http://www.sefaz.ma.gov.br/resource/DOMINIO/Unidade_Federativa/MG | 0 |
| 111 | 0.906789 | Unidade Fiscal | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Unidade_Fiscal/1 | 0 |
| 112 | 0.899358 | Usuário | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Usuario/1088772 | 0 |
| 113 | 0.833521 | Órgão | http://www.sefaz.ma.gov.br/resource/CEIS/Orgao/MINISTÉRIO%20DA%20AGRICULTURA%2C%20PECUÁRIA%20E%20ABASTECIMENTO | 0 |
| 114 | 74.446629 | Evento | http://www.sefaz.ma.gov.br/resource/REDESIM/Evento/691 | 202 |
115 rows × 4 columns
d7[(d7['triplas']==0) | (d7['triplas']==-1)]
| tempo | classe | recurso | triplas | |
|---|---|---|---|---|
| 1 | 1.117689 | Agente | http://www.sefaz.ma.gov.br/resource/RFB/Agente/3H%20GROUP%20PTY%20LTD. | 0 |
| 2 | 0.903873 | Arma | http://www.sefaz.ma.gov.br/resource/Compras_Publicas/Arma/156107053 | 0 |
| 3 | 0.926405 | Arquivo | http://www.sefaz.ma.gov.br/resource/REDESIM/Arquivo/701 | 0 |
| 6 | 0.866906 | CEP do Logradouro | http://www.sefaz.ma.gov.br/resource/DOMINIO/CEP_Logradouro/01019030 | 0 |
| 7 | 0.915467 | Caso da consistência | http://www.sefaz.ma.gov.br/resource/Caso_Consistencia/2.1 | 0 |
| ... | ... | ... | ... | ... |
| 105 | 3.219330 | Tipo do Estabelecimento | http://www.sefaz.ma.gov.br/resource/DOMINIO/Tipo_Estabelecimento/FILIAL | 0 |
| 110 | 0.915502 | Unidade Federativa | Estado | http://www.sefaz.ma.gov.br/resource/DOMINIO/Unidade_Federativa/MG | 0 |
| 111 | 0.906789 | Unidade Fiscal | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Unidade_Fiscal/1 | 0 |
| 112 | 0.899358 | Usuário | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Usuario/1088772 | 0 |
| 113 | 0.833521 | Órgão | http://www.sefaz.ma.gov.br/resource/CEIS/Orgao/MINISTÉRIO%20DA%20AGRICULTURA%2C%20PECUÁRIA%20E%20ABASTECIMENTO | 0 |
71 rows × 4 columns
p = {'inválidas':d7[(d7['triplas']==0) | (d7['triplas']==-1)].shape[0],'válidas':d7.shape[0]-d7[(d7['triplas']==0) | (d7['triplas']==-1)].shape[0]}
p=pd.DataFrame([p]).T.reset_index().rename(columns={0:'qtd','index':'tipo'})
fig = px.pie(p,values='qtd', names='tipo', title='Percentual de recursos com duas propriedades em cadeia por classe válidos')
fig.show()
d7['erro'] = 'Não'
d7.loc[d7['triplas']==-1,'erro']='Sim'
p = d7['erro'].value_counts().reset_index(name="qtd")
fig = px.pie(p,values='qtd', names='index', title='Percentual de recursos que deram erro')
fig.show()
validas = d7[(d7['triplas']!=0) & (d7['triplas']!=-1)]
fig = px.histogram(validas, x="tempo",title="histograma de tempo de execução")
fig.show()
fig = px.histogram(validas[validas['tempo']<=19], x="tempo",title="histograma de tempo de execução com tempo [0,19]")
fig.show()
Estatísticas para consultas com tempo [0,8)
validas[validas['tempo']<8].describe()
| tempo | triplas | |
|---|---|---|
| count | 33.000000 | 33.000000 |
| mean | 2.858136 | 5.848485 |
| std | 1.687308 | 6.205447 |
| min | 0.372446 | 1.000000 |
| 25% | 1.554007 | 1.000000 |
| 50% | 2.432871 | 3.000000 |
| 75% | 4.031513 | 9.000000 |
| max | 7.035061 | 23.000000 |
Estatísticas para consultas com tempo [8,inf)
validas[validas['tempo']>=8].describe()
| tempo | triplas | |
|---|---|---|
| count | 11.000000 | 11.000000 |
| mean | 41.994413 | 10694.000000 |
| std | 55.117370 | 35312.822006 |
| min | 10.022829 | 2.000000 |
| 25% | 12.095946 | 10.000000 |
| 50% | 13.391764 | 11.000000 |
| 75% | 49.449097 | 95.000000 |
| max | 184.324477 | 117166.000000 |
Consultas com tempo [8,inf)
validas[validas['tempo']>=8].sort_values(by='tempo',ascending=False)
| tempo | classe | recurso | triplas | erro | |
|---|---|---|---|---|---|
| 33 | 184.324477 | Empresa | Organização | Pessoa Jurídica SEFAZ | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Empresa/12000060 | 23 | Não |
| 12 | 92.682988 | Compra Pública | http://www.sefaz.ma.gov.br/resource/Compras_Publicas/Compra_Publica/190730 | 2 | Não |
| 114 | 74.446629 | Evento | http://www.sefaz.ma.gov.br/resource/REDESIM/Evento/691 | 202 | Não |
| 41 | 24.451564 | Estabelecimento | http://www.sefaz.ma.gov.br/resource/Cadastro_SEFAZ-MA/Estabelecimento/12727524 | 79 | Não |
| 32 | 14.876551 | Empresa | Organização | Pessoa Jurídica RFB | http://www.sefaz.ma.gov.br/resource/RFB/Empresa/00000000 | 117166 | Não |
| 42 | 13.391764 | Estabelecimento REDESIM | http://www.sefaz.ma.gov.br/resource/REDESIM/Estabelecimento/191 | 11 | Não |
| 67 | 12.530649 | Pessoa Física REDESIM | http://www.sefaz.ma.gov.br/resource/REDESIM/Pessoa/725323 | 10 | Não |
| 78 | 12.298408 | Representante Legal Físico | http://www.sefaz.ma.gov.br/resource/REDESIM/Pessoa/725323 | 10 | Não |
| 31 | 11.893484 | Empresa | Organização | Pessoa Jurídica REDESIM | http://www.sefaz.ma.gov.br/resource/REDESIM/Empresa/16506549 | 111 | Não |
| 14 | 11.019202 | Contador | http://www.sefaz.ma.gov.br/resource/REDESIM/Pessoa/725323 | 10 | Não |
| 77 | 10.022829 | Representante Legal | http://www.sefaz.ma.gov.br/resource/REDESIM/Pessoa/725323 | 10 | Não |